//  导入验证规则的包
const joi = require("joi");

// string() 值必须是字符
// alphanum() 值只能是包含a-zA-Z0-9的字符串
// min() 最小长度
// max() 最大长度
// required() 值为必填项
// pattern() 值必须是符号正则表达式的规则
// integer()
// joi.ref('oldPwd') 表示 newPwd 必须和 oldPwd 保持一致
// joi.not(joi.ref('oldPwd')) newPwd 值不能等于 oldPwd 的值
// .concat() 用于合并前后两条验证规则
// dataUrl() 指的是如下的格式的字符串： ..

const userName = joi.string().alphanum().min(1).max(10).required();

// 最短6位，最长16位 {6,16}
// 可以包含小写大母 [a-z] 和大写字母 [A-Z]
// 可以包含数字 [0-9]
// 可以包含下划线 [ _ ] 和减号 [ - ]
const password = joi
  .string()
  .pattern(/^[\w_-]{6,16}$/)
  .required();

const captcha = joi.string().required();

const nickName = joi.string().required();

const email = joi.string().email().required();

const avatar = joi.string().dataUri().required();

// 定义注册和登录表单数据的规则对象
exports.reg_login_schema = {
  body: {
    userName,
    password,
    captcha,
    // loginMethod: //登录方式，待扩展
  },
};

exports.reg_reguser_schema = {
  body: {
    userName,
    password,
    // loginMethod: //登录方式，待扩展
  },
};
